home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The CICA Windows Explosion!
/
The CICA Windows Explosion! - Disc 2.iso
/
winsock
/
ircii2-6.zip
/
SRC\IRCII-2.6\SOURCE\KEYS.C
< prev
next >
Wrap
C/C++ Source or Header
|
1994-12-29
|
61KB
|
2,162 lines
/*
* keys.c: Does command line parsing, etc
*
*
* Written By Michael Sandrof
*
* Copyright(c) 1990
*
* See the COPYRIGHT file, or do a HELP IRCII COPYRIGHT
*/
#ifndef lint
static char rcsid[] = "@(#)$Id: keys.c,v 1.11 1994/10/08 13:49:21 mrg Stab $";
#endif
#include "irc.h"
#include "output.h"
#include "keys.h"
#include "names.h"
#include "ircaux.h"
#include "window.h"
#include "edit.h"
#include "vars.h"
#include "term.h"
extern void input_add_character();
extern void input_backward_word();
extern void input_forward_word();
extern void input_delete_previous_word();
extern void input_delete_next_word();
extern void forward_character();
extern void backward_character();
extern void input_clear_to_bol();
extern void input_clear_line();
extern void input_beginning_of_line();
extern void input_end_of_line();
extern void input_clear_to_eol();
extern void refresh_inputline();
extern RETSIGTYPE refresh_screen();
extern void input_delete_character();
extern void input_backspace();
extern void backward_history();
extern void forward_history();
extern void toggle_insert_mode();
extern void input_transpose_characters();
extern void input_yank_cut_buffer();
extern void send_line();
extern void meta1_char();
extern void meta2_char();
extern void meta3_char();
extern void meta4_char();
extern void irc_quit();
extern void quote_char();
extern void type_text();
extern void parse_text();
extern void toggle_stop_screen();
extern void command_completion();
extern void clear_screen();
extern void enter_digraph();
extern void scrollback_backwards();
extern void scrollback_forwards();
extern void scrollback_end();
extern void scrollback_start();
extern void enter_menu();
/*
* lookup_function: looks up an irc function by name, and returns the
* number of functions that match the name, and sets where index points
* to to be the index of the (first) function found.
*/
int
lookup_function(name, index)
char *name;
int *index;
{
int len,
cnt,
i;
if (name)
{
upper(name);
len = strlen(name);
cnt = 0;
*index = -1;
for (i = 0; i < NUMBER_OF_FUNCTIONS; i++)
{
if (my_strnicmp(name, key_names[i].name, len) == 0)
{
cnt++;
if (*index == -1)
*index = i;
}
}
if (*index == -1)
return (0);
if (my_stricmp(name, key_names[*index].name) == 0)
return (1);
else
return (cnt);
}
return (0);
}
/*
* display_key: converts the character c to a displayable form and returns
* it. Very simple indeed
*/
unsigned char *
display_key(c)
unsigned char c;
{
static unsigned char key[3];
key[2] = (char) 0;
if (c < 32)
{
key[0] = '^';
key[1] = c + 64;
}
else if (c == '\177')
{
key[0] = '^';
key[1] = '?';
}
else
{
key[0] = c;
key[1] = (char) 0;
}
return (key);
}
/*
* show_binding: given the ascii value of a key and a meta key status (1 for
* meta1 keys, 2 for meta2 keys, anything else for normal keys), this will
* display the key binding for the key in a nice way
*/
void
show_binding(c, meta)
unsigned char c;
int meta;
{
KeyMap *map;
char *meta_str;
switch (meta)
{
case 1:
map = meta1_keys;
meta_str = "META1-";
break;
case 2:
map = meta2_keys;
meta_str = "META2-";
break;
case 3:
map = meta3_keys;
meta_str = "META3-";
break;
case 4:
map = meta4_keys;
meta_str = "META4-";
break;
default:
map = keys;
meta_str = empty_string;
break;
}
say("%s%s is bound to %s %s", meta_str, display_key(c),
key_names[map[c].index].name, (map[c].stuff &&
(*(map[c].stuff))) ? map[c].stuff : "");
}
/*
* parse_key: converts a key string. Accepts any key, or ^c where c is any
* key (representing control characters), or META1- or META2- for meta1 or
* meta2 keys respectively. The string itself is converted to true ascii
* value, thus "^A" is converted to 1, etc. Meta key info is removed and
* returned as the function value, 0 for no meta key, 1 for meta1, and 2 for
* meta2. Thus, "META1-a" is converted to "a" and a 1 is returned.
* Furthermore, if ^X is bound to META2_CHARACTER, and "^Xa" is passed to
* parse_key(), it is converted to "a" and 2 is returned. Do ya understand
* this?
*/
int
parse_key(key_str)
char *key_str;
{
char *ptr1,
*ptr2;
unsigned char c;
int meta = 0;
ptr2 = ptr1 = key_str;
while (*ptr1)
{
if (*ptr1 == '^')
{
ptr1++;
switch (*ptr1)
{
case 0:
*(ptr2++) = '^';
break;
case '?':
*(ptr2++) = '\177';
ptr1++;
break;
default:
c = *(ptr1++);
if (islower(c))
c = toupper(c);
if (c < 64)
{
say("Illegal key sequence: ^%c", c);
return (-1);
}
*(ptr2++) = c - 64;
}
}
else
*(ptr2++) = *(ptr1++);
}
*ptr2 = (char) 0;
if (strlen(key_str) > 1)
{
if (my_strnicmp(key_str, "META1-", 6) == 0)
{
strcpy(key_str, key_str + 6);
meta = 1;
}
else if (my_strnicmp(key_str, "META2-", 6) == 0)
{
strcpy(key_str, key_str + 6);
meta = 2;
}
else if (my_strnicmp(key_str, "META3-", 6) == 0)
{
strcpy(key_str, key_str + 6);
meta = 3;
}
else if (my_strnicmp(key_str, "META4-", 6) == 0)
{
strcpy(key_str, key_str + 6);
meta = 4;
}
else if (keys[(u_char) *key_str].index == META1_CHARACTER)
{
meta = 1;
strcpy(key_str, key_str + 1);
}
else if (keys[(u_char) *key_str].index == META2_CHARACTER)
{
meta = 2;
strcpy(key_str, key_str + 1);
}
else if (keys[(u_char) *key_str].index == META3_CHARACTER)
{
meta = 3;
strcpy(key_str, key_str + 1);
}
else if (keys[(u_char) *key_str].index == META4_CHARACTER)
{
meta = 4;
strcpy(key_str, key_str + 1);
}
else
{
say("Illegal key sequence: %s is not a meta-key",
display_key(*key_str));
return (-1);
}
}
return (meta);
}
/*
* bind_it: does the actually binding of the function to the key with the
* given meta modifier
*/
static void
bind_it(function, string, key, meta)
char key;
char *function,
*string;
int meta;
{
KeyMap *km;
int cnt,
index,
i;
switch (meta)
{
case 0:
km = keys;
break;
case 1:
km = meta1_keys;
break;
case 2:
km = meta2_keys;
break;
case 3:
km = meta3_keys;
break;
case 4:
km = meta4_keys;
break;
default:
km = keys;
}
if (*string == (char) 0)
string = (char *) 0;
switch (cnt = lookup_function(function, &index))
{
case 0:
say("No such function: %s", function);
break;
case 1:
if (! km[key].changed)
{
if ((km[key].index != index) ||
((string == (char *) 0) &&
km[key].stuff) ||
((km[key].stuff == (char *) 0) &&
string) || (string && km[key].stuff &&
strcmp(km[key].stuff,string)))
km[key].changed = 1;
}
km[key].index = index;
km[key].global = loading_global;
malloc_strcpy(&(km[key].stuff), string);
show_binding(key, meta);
break;
default:
say("Ambiguous function name: %s", function);
for (i = 0; i < cnt; i++, index++)
put_it("%s", key_names[index].name);
break;
}
}
/* parsekeycmd: does the PARSEKEY command. */
void
parsekeycmd(command, args)
char *command,
*args;
{
int i;
char *arg;
if ((arg = next_arg(args, &args)) != NULL)
{
switch (lookup_function(arg, &i))
{
case 0:
say("No such function %s", arg);
return;
case 1:
key_names[i].func();
break;
default:
say("Ambigious function %s", arg);
break;
}
}
}
/*
* bindcmd: the bind command, takes a key sequence followed by a function
* name followed by option arguments (used depending on the function) and
* binds a key. If no function is specified, the current binding for that
* key is shown
*/
/*ARGSUSED*/
void
bindcmd(command, args)
char *command,
*args;
{
char *key,
*function;
int meta;
if ((key = next_arg(args, &args)) != NULL)
{
if ((meta = parse_key(key)) == -1)
return;
if (strlen(key) > 1)
{
say("Key sequences may not contain more than two keys");
return;
}
if ((function = next_arg(args, &args)) != NULL)
bind_it(function, args, *key, meta);
else
show_binding(*key, meta);
}
else
{
int i;
int charsize = charset_size();
for (i = 0; i < charsize; i++)
{
if ((keys[i].index != NOTHING) && (keys[i].index !=
SELF_INSERT))
show_binding(i, 0);
}
for (i = 0; i < charsize; i++)
{
if ((meta1_keys[i].index != NOTHING) &&
(meta1_keys[i].index != SELF_INSERT))
show_binding(i, 1);
}
for (i = 0; i < charsize; i++)
{
if ((meta2_keys[i].index != NOTHING) &&
(meta2_keys[i].index != SELF_INSERT))
show_binding(i, 2);
}
for (i = 0; i < charsize; i++)
{
if ((meta3_keys[i].index != NOTHING) &&
(meta3_keys[i].index != SELF_INSERT))
show_binding(i, 3);
}
for (i = 0; i < charsize; i++)
{
if ((meta4_keys[i].index != NOTHING) &&
(meta4_keys[i].index != SELF_INSERT))
show_binding(i, 4);
}
}
}
/*
* rbindcmd: does the rbind command. you give it a string that something
* is bound to and it tells you all the things that are bound to that
* functions
*/
void
rbindcmd(command, args)
char *command,
*args;
{
int f;
char *arg;
if ((arg = next_arg(args, &args)) != NULL)
{
int i;
int charsize = charset_size();
switch (lookup_function(arg, &f))
{
case 0:
say("No such function %s", arg);
return;
case 1:
break;
default:
say("Ambigious function %s", arg);
return;
}
for (i = 0; i < charsize; i++)
if (f == keys[i].index)
show_binding(i, 0);
for (i = 0; i < charsize; i++)
if (f == meta1_keys[i].index)
show_binding(i, 1);
for (i = 0; i < charsize; i++)
if (f == meta2_keys[i].index)
show_binding(i, 2);
for (i = 0; i < charsize; i++)
if (f == meta3_keys[i].index)
show_binding(i, 3);
for (i = 0; i < charsize; i++)
if (f == meta4_keys[i].index)
show_binding(i, 4);
}
}
void (* get_send_line())()
{
return(key_names[SEND_LINE].func);
}
/*
* change_send_line: Allows you to change the everything bound to SENDLINE in
* one fell swoop. Used by the various functions that gather input using the
* normal irc interface but dont wish to parse it and send it to the server.
* Sending NULL resets it to send_line()
*/
void
change_send_line(func)
void (*func) ();
{
if (func)
key_names[SEND_LINE].func = func;
else
key_names[SEND_LINE].func = send_line;
}
/*
* type: The TYPE command. This parses the given string and treats each
* character as tho it were typed in by the user. Thus key bindings are used
* for each character parsed. Special case characters are control character
* sequences, specified by a ^ follow by a legal control key. Thus doing
* "/TYPE ^B" will be as tho ^B were hit at the keyboard, probably moving the
* cursor backward one character.
*/
/*ARGSUSED*/
void
type(command, args)
char *command,
*args;
{
int c;
char key;
while (*args)
{
if (*args == '^')
{
switch (*(++args))
{
case '?':
key = '\177';
args++;
break;
default:
c = *(args++);
if (islower(c))
c = toupper(c);
if (c < 64)
{
say("Illegal key sequence: ^%c", c);
return;
}
key = c - 64;
break;
}
}
else if (*args == '\\')
{
key = *++args;
args++;
}
else
key = *(args++);
edit_char(key);
}
}
KeyMapNames FAR key_names[] =
{
{ "BACKSPACE", input_backspace },
{ "BACKWARD_CHARACTER", backward_character },
{ "BACKWARD_HISTORY", backward_history },
{ "BACKWARD_WORD", input_backward_word },
{ "BEGINNING_OF_LINE", input_beginning_of_line },
{ "CLEAR_SCREEN", clear_screen },
{ "COMMAND_COMPLETION", command_completion },
{ "DELETE_CHARACTER", input_delete_character },
{ "DELETE_NEXT_WORD", input_delete_next_word },
{ "DELETE_PREVIOUS_WORD", input_delete_previous_word },
{ "END_OF_LINE", input_end_of_line },
{ "ENTER_DIGRAPH", enter_digraph },
{ "ENTER_MENU", enter_menu },
{ "ERASE_LINE", input_clear_line },
{ "ERASE_TO_BEG_OF_LINE", input_clear_to_bol },
{ "ERASE_TO_END_OF_LINE", input_clear_to_eol },
{ "FORWARD_CHARACTER", forward_character },
{ "FORWARD_HISTORY", forward_history },
{ "FORWARD_WORD", input_forward_word },
{ "META1_CHARACTER", meta1_char },
{ "META2_CHARACTER", meta2_char },
{ "META3_CHARACTER", meta3_char },
{ "META4_CHARACTER", meta4_char },
{ "NEXT_WINDOW", next_window },
{ "NOTHING", NULL },
{ "PARSE_COMMAND", parse_text },
{ "PREVIOUS_WINDOW", previous_window },
{ "QUIT_IRC", irc_quit },
{ "QUOTE_CHARACTER", quote_char },
{ "REFRESH_INPUTLINE", refresh_inputline },
{ "REFRESH_SCREEN", (void (*) ()) refresh_screen },
{ "SCROLL_BACKWARD", scrollback_backwards },
{ "SCROLL_END", scrollback_end },
{ "SCROLL_FORWARD", scrollback_forwards },
{ "SCROLL_START", scrollback_start },
{ "SELF_INSERT", input_add_character },
{ "SEND_LINE", send_line },
{ "STOP_IRC", term_pause },
{ "SWAP_LAST_WINDOW", swap_last_window },
{ "SWAP_NEXT_WINDOW", swap_next_window },
{ "SWAP_PREVIOUS_WINDOW", swap_previous_window },
{ "SWITCH_CHANNELS", switch_channels },
{ "TOGGLE_INSERT_MODE", toggle_insert_mode },
{ "TOGGLE_STOP_SCREEN", toggle_stop_screen },
{ "TRANSPOSE_CHARACTERS", input_transpose_characters },
{ "TYPE_TEXT", type_text },
{ "UNSTOP_ALL_WINDOWS", unstop_all_windows },
{ "YANK_FROM_CUTBUFFER", input_yank_cut_buffer }
};
KeyMap FAR keys[] =
{
{ SELF_INSERT, 0, 0, (char *) 0 }, /* 0 */
{ BEGINNING_OF_LINE, 0, 0, (char *) 0 },
{ BACKWARD_CHARACTER, 0, 0, (char *) 0 },
{ QUIT_IRC, 0, 0, (char *) 0 },
{ DELETE_CHARACTER, 0, 0, (char *) 0 },
{ END_OF_LINE, 0, 0, (char *) 0 },
{ FORWARD_CHARACTER, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ BACKSPACE, 0, 0, (char *) 0 }, /* 8 */
{ TOGGLE_INSERT_MODE, 0, 0, (char *) 0 },
{ SEND_LINE, 0, 0, (char *) 0 },
{ ERASE_TO_END_OF_LINE, 0, 0, (char *) 0 },
{ REFRESH_SCREEN, 0, 0, (char *) 0 },
{ SEND_LINE, 0, 0, (char *) 0 },
{ FORWARD_HISTORY, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ BACKWARD_HISTORY, 0, 0, (char *) 0 }, /* 16 */
{ QUOTE_CHARACTER, 0, 0, (char *) 0 },
{ ENTER_MENU, 0, 0, (char *) 0 },
{ TOGGLE_STOP_SCREEN, 0, 0, (char *) 0 },
{ TRANSPOSE_CHARACTERS, 0, 0, (char *) 0 },
{ ERASE_LINE, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ META2_CHARACTER, 0, 0, (char *) 0 }, /* 24 */
{ YANK_FROM_CUTBUFFER, 0, 0, (char *) 0 },
/* And I moved STOP_IRC to META1 26 */
{ ENTER_DIGRAPH, 0, 0, (char *) 0 },
{ META1_CHARACTER, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 }, /* 32 */
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 }, /* 40 */
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 }, /* 48 */
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 }, /* 56 */
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 }, /* 64 */
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 }, /* 72 */
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 }, /* 80 */
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 }, /* 88 */
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 }, /* 96 */
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 }, /* 104 */
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 }, /* 112 */
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 }, /* 120 */
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ BACKSPACE, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 }, /* 128 */
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 }, /* 136 */
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 }, /* 144 */
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 }, /* 152 */
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 }, /* 160 */
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 }, /* 168 */
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 }, /* 176 */
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 }, /* 184 */
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
/* { SCROLL_START, 0, 0, (char *) 0 }, */
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
/* { SCROLL_END, 0, 0, (char *) 0 }, */
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 }, /* 192 */
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 }, /* 200 */
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 }, /* 208 */
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 }, /* 216 */
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 }, /* 224 */
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
/* { BACKWARD_WORD, 0, 0, (char *) 0 }, */
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
/* { DELETE_NEXT_WORD, 0, 0, (char *) 0 }, */
{ SELF_INSERT, 0, 0, (char *) 0 },
/* { SCROLL_END, 0, 0, (char *) 0 }, */
{ SELF_INSERT, 0, 0, (char *) 0 },
/* { FORWARD_WORD, 0, 0, (char *) 0 }, */
{ SELF_INSERT, 0, 0, (char *) 0 },
/* { DELETE_PREVIOUS_WORD, 0, 0, (char *) 0 }, */
{ SELF_INSERT, 0, 0, (char *) 0 }, /* 232 */
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 }, /* 240 */
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 }, /* 248 */
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 },
{ SELF_INSERT, 0, 0, (char *) 0 }
/* { DELETE_PREVIOUS_WORD, 0, 0, (char *) 0 } */
};
KeyMap FAR meta1_keys[] =
{
{ NOTHING, 0, 0, (char *) 0 }, /* 0 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 8 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 16 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 24 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ COMMAND_COMPLETION, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 32 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 40 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ CLEAR_SCREEN, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 48 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 56 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ SCROLL_START, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ SCROLL_END, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 64 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 72 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 80 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 88 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ META3_CHARACTER, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 96 */
{ NOTHING, 0, 0, (char *) 0 },
{ BACKWARD_WORD, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ DELETE_NEXT_WORD, 0, 0, (char *) 0 },
{ SCROLL_END, 0, 0, (char *) 0 },
{ FORWARD_WORD, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ DELETE_PREVIOUS_WORD, 0, 0, (char *) 0 }, /* 104 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ SCROLL_FORWARD, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ SCROLL_BACKWARD, 0, 0, (char *) 0 }, /* 112 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 120 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ DELETE_PREVIOUS_WORD, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 128 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 136 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 144 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 152 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 160 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 168 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 176 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 184 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 192 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 200 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 208 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 216 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 224 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 232 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 240 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 248 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }
};
KeyMap FAR meta2_keys[] =
{
{ NOTHING, 0, 0, (char *) 0 }, /* 0 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 8 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 16 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 24 */
{ NOTHING, 0, 0, (char *) 0 },
#ifdef ALLOW_STOP_IRC
{ STOP_IRC, 0, 0, (char *) 0 },
#else
{ NOTHING, 0, 0, (char *) 0 },
#endif
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 32 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 40 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 48 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 56 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 64 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 72 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 80 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 88 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 96 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 104 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NEXT_WINDOW, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ PREVIOUS_WINDOW, 0, 0, (char *) 0 }, /* 112 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 120 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 128 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 136 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 144 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 152 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 160 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 168 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 176 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 184 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 192 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 200 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 208 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 216 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 224 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 232 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 240 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 248 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }
};
KeyMap FAR meta3_keys[] =
{
{ NOTHING, 0, 0, (char *) 0 }, /* 0 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 8 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 16 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 24 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 32 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 40 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 48 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 56 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 64 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 72 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 80 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 88 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 96 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 104 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 112 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 120 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 128 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 136 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 144 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 152 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 160 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 168 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 176 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 184 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 192 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 200 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 208 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 216 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 224 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 232 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 240 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 248 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }
};
KeyMap FAR meta4_keys[] =
{
{ NOTHING, 0, 0, (char *) 0 }, /* 0 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ BACKWARD_CHARACTER, 0, 0, (char *) 0 }, /* 8 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 16 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 24 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ FORWARD_CHARACTER, 0, 0, (char *) 0 }, /* 32 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 40 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 48 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 56 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 64 */
{ META4_CHARACTER, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ BACKWARD_CHARACTER, 0, 0, (char *) 0 }, /* 72 */
{ META4_CHARACTER, 0, 0, (char *) 0 },
{ FORWARD_HISTORY, 0, 0, (char *) 0 },
{ BACKWARD_HISTORY, 0, 0, (char *) 0 },
{ FORWARD_CHARACTER, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 80 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ DELETE_CHARACTER, 0, 0, (char *) 0 }, /* 88 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 96 */
{ META4_CHARACTER, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ BACKWARD_CHARACTER, 0, 0, (char *) 0 }, /* 104 */
{ META4_CHARACTER, 0, 0, (char *) 0 },
{ FORWARD_HISTORY, 0, 0, (char *) 0 },
{ BACKWARD_HISTORY, 0, 0, (char *) 0 },
{ FORWARD_CHARACTER, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 112 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ DELETE_CHARACTER, 0, 0, (char *) 0 }, /* 120 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 128 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 136 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 144 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 152 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 160 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 168 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 176 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 184 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 192 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 200 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 208 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 216 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 224 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 232 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 240 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }, /* 248 */
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 },
{ NOTHING, 0, 0, (char *) 0 }
};
/*
* write_binding: This will write to the given FILE pointer the information
* about the specified key binding. The format it writes it out is such that
* it can be parsed back in later using LOAD or with the -l switch
*/
static void
write_binding(c, meta, fp, do_all)
unsigned char c,
meta;
FILE *fp;
int do_all;
{
KeyMap *map;
char *meta_str;
if (c == 32)
return;
switch (meta)
{
case 1:
map = meta1_keys;
meta_str = "META1-";
break;
case 2:
map = meta2_keys;
meta_str = "META2-";
break;
case 3:
map = meta3_keys;
meta_str = "META3-";
break;
case 4:
map = meta4_keys;
meta_str = "META4-";
break;
default:
map = keys;
meta_str = empty_string;
break;
}
if (map[c].changed)
{
fprintf(fp, "BIND %s%s %s", meta_str, display_key(c),
key_names[map[c].index].name);
if (map[c].stuff && (*(map[c].stuff)))
{
fprintf(fp, " %s\n", map[c].stuff);
}
else
fprintf(fp, "\n");
}
}
/*
* save_bindings: this writes all the keys bindings for IRCII to the given
* FILE pointer using the write_binding function
*/
void
save_bindings(fp, do_all)
FILE *fp;
int do_all;
{
int i;
int charsize = charset_size();
for (i = 0; i < charsize; i++)
write_binding(i, 0, fp, do_all);
for (i = 0; i < charsize; i++)
write_binding(i, 1, fp, do_all);
for (i = 0; i < charsize; i++)
write_binding(i, 2, fp, do_all);
for (i = 0; i < charsize; i++)
write_binding(i, 3, fp, do_all);
for (i = 0; i < charsize; i++)
write_binding(i, 4, fp, do_all);
}